﻿Public Class ProductoPedido : Inherits Producto : Implements IEquatable(Of ProductoPedido)
    Private _Cantidad As Decimal
    ''' <summary>
    ''' Obtenemos la cantidad. Debe estar entre 1 y 50
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property Cantidad As Integer
        Get
            Return _Cantidad
        End Get
        Set(ByVal value As Integer)
            If value >= 1 AndAlso value <= 5 Then
                _Cantidad = value
            End If
        End Set
    End Property
    ''' <summary>
    ''' Constructor vacío
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub New()

    End Sub
    ''' <summary>
    ''' Los ProductosPedidos se crean con datos
    ''' </summary>
    ''' <param name="nombre">Nombre del producto</param>
    ''' <param name="precio">Precio del producto</param>
    ''' <param name="cantidad">Cantidad pedida del producto</param>
    ''' <remarks></remarks>
    Public Sub New(ByVal nombre As String, ByVal precio As Decimal, ByVal cantidad As Integer)
        Me.Nombre = nombre
        Me.Precio = precio
        Me.Cantidad = cantidad
    End Sub
    ''' <summary>
    ''' Define cuando se consideran iguales dos ProductosPedidos, siendo del mismo tipo (ProductosPedidos) les coincide el Nombre del Pedido
    ''' </summary>
    ''' <param name="other"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overloads Function Equals1(other As ProductoPedido) As Boolean Implements System.IEquatable(Of ProductoPedido).Equals
        Return other IsNot Nothing AndAlso other.Nombre.ToLower = Me.Nombre.ToLower
    End Function
End Class
